package com.zhiwen.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiwen.domain.dto.CollectionDTO;
import com.zhiwen.domain.entity.UserCollection;
import com.zhiwen.domain.vo.QuestionVO;

/**
 * 用户收藏服务接口
 */
public interface UserCollectionService extends IService<UserCollection> {

    /**
     * 添加收藏
     *
     * @param collectionDTO 收藏信息
     * @return 是否成功
     */
    boolean addCollection(CollectionDTO collectionDTO);

    /**
     * 取消收藏
     *
     * @param collectionDTO 收藏信息
     * @return 是否成功
     */
    boolean cancelCollection(CollectionDTO collectionDTO);

    /**
     * 检查是否收藏
     *
     * @param collectionDTO 收藏信息
     * @return 是否已收藏
     */
    boolean checkCollected(CollectionDTO collectionDTO);

    /**
     * 获取用户收藏的问题列表
     *
     * @param userId 用户ID
     * @param current 当前页
     * @param size 每页数量
     * @return 问题分页对象
     */
    Page<QuestionVO> getCollectedQuestions(Long userId, Integer current, Integer size);
}
